package com.javaforever.dictionary.dao;

import com.javaforever.dictionary.domain.DicGroup;
import java.sql.Connection;
import java.util.List;

public interface DicGroupDao{
	public List<DicGroup> listAllDicGroups(Connection connection) throws Exception;
	public boolean updateDicGroup(Connection connection,DicGroup dicGroup) throws Exception;
	public boolean deleteDicGroup(Connection connection,Long dicGroupId) throws Exception;
	public boolean addDicGroup(Connection connection,DicGroup dicGroup) throws Exception;
	public boolean softDeleteDicGroup(Connection connection,Long dicGroupId) throws Exception;
	public DicGroup findDicGroupByDicGroupId(Connection connection,Long dicGroupId) throws Exception;
	public DicGroup findDicGroupByDicGroupName(Connection connection,String dicGroupName) throws Exception;
	public List<DicGroup> searchDicGroupsByDicGroupName(Connection connection,String dicGroupName) throws Exception;
	public List<DicGroup> listActiveDicGroups(Connection connection) throws Exception;
	public List<DicGroup> listAllDicGroupsByPage(Connection connection,int pagesize,int pagenum) throws Exception;
	public void deleteAllDicGroups(Connection connection,String ids) throws Exception;
	public void softDeleteAllDicGroups(Connection connection,String ids) throws Exception;
	public Boolean toggleDicGroup(Connection connection,Long dicGroupId) throws Exception;
	public List<DicGroup> searchDicGroupsByFieldsByPage(Connection connection,DicGroup dicGroup,Long pagenum,Long pagesize) throws Exception;
	public int countDicGroupsPage(Connection connection,int pagesize) throws Exception;
	public Long countActiveDicGroupRecords(Connection connection) throws Exception;
	public Long countAllDicGroupRecords(Connection connection) throws Exception;
	public Long countSearchDicGroupsByFieldsRecords(Connection connection,DicGroup dicGroup) throws Exception;
}
